﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAL;
using System.Web.UI.HtmlControls;
using System.IO;

public partial class Admin_Page_UpdateServiceType : BasePage
{
    TaiKhoan TK;
    protected void Page_Load(object sender, EventArgs e)
    {
        lblLoi.Text = "";

        TK = (TaiKhoan)Session["TaiKhoan"];
        if (TK == null || (TK != null && TK.MaNhomQuyen != 1))
        {

            Response.Redirect("~/Admin/Page_Login.aspx");
        }

        if (!IsPostBack)
        {
            ((HtmlGenericControl)Master.FindControl("hPageTitle")).InnerText = "Thêm Loại dịch vụ";

            if (!string.IsNullOrEmpty(Request.QueryString["Id"]))
            {
                ((HtmlGenericControl)Master.FindControl("hPageTitle")).InnerText = "Sửa Loại dịch vụ";

                LoaiDichVu ldv = LDVBLL.LayTheoMa(int.Parse(Request.QueryString["Id"]));
                ViewState["MaLoaiDV"] = ldv.Ma;

                txtTenEN.Text = ldv.Ten_EN;
                txtTenRU.Text = ldv.Ten_RU;
                txtLoiGioiThieu.Text = ldv.LoiGioiThieu_EN;
                imgHinhAnh.Visible = true;
                imgHinhAnh.ImageUrl = "~/Images/ServiceTypes/" + ldv.HinhAnh;
                trMa.Visible = true;
                lblMa.Text = ldv.Ma.ToString();
                

                btnUpdate.Text = "Cập nhật";
                btnDelete.Visible = true;
            }
        }
    }

    bool KiemTraHopLe()
    {
        if (txtTenEN.Text.Trim() == "")
        {
            lblLoi.Text = "Cần nhập tên tiếng Anh của loại dịch vụ!";
            txtTenEN.Focus();
            return false;
        }

        if (txtTenRU.Text.Trim() == "")
        {
            lblLoi.Text = "Cần nhập tên tiếng Nga của loại dịch vụ!";
            txtTenRU.Focus();
            return false;
        }

        if (txtLoiGioiThieu.Text.Trim() == "")
        {
            lblLoi.Text = "Cần nhập mô tả cho loại dịch vụ!";
            txtLoiGioiThieu.Focus();
            return false;
        }

        return true;
    }

    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        if (!KiemTraHopLe())
            return;

        LoaiDichVu ldv;
        if (ViewState["MaLoaiDV"] == null)
        {
            string imgname = UploadHinhAnh();

            ldv = LDVBLL.Them(txtTenEN.Text, txtTenRU.Text, txtLoiGioiThieu.Text, imgname);
        }
        else
        {
            ldv = LDVBLL.LayTheoMa((int)ViewState["MaLoaiDV"]);
            ldv.Ten_EN = txtTenEN.Text;
            ldv.Ten_RU = txtTenRU.Text;
            ldv.LoiGioiThieu_EN = txtLoiGioiThieu.Text;


            if (fulHinhAnh.PostedFile.ContentLength > 0)
            {
                DeleteHinhAnh(ldv.HinhAnh);
                ldv.HinhAnh = UploadHinhAnh();
            }

            LDVBLL.CapNhat();


        }
        Response.Redirect("~/Admin/Page_UpdateServiceType.aspx?Id=" + ldv.Ma);


    }

    private void DeleteHinhAnh(string imgname)
    {
        try
        {
            File.Delete(Server.MapPath("~/Images/ServiceTypes/" + imgname));
        }
        catch
        {

        }
    }

    private string UploadHinhAnh()
    {

        string imgname = Common.TaoDaySoNgauNhien(6) + "_" + fulHinhAnh.FileName;
        fulHinhAnh.PostedFile.SaveAs(Server.MapPath("~/Images/ServiceTypes/" + imgname));
        return imgname;
    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
        LoaiDichVu ldv = LDVBLL.LayTheoMa((int)ViewState["MaLoaiDV"]);
        DeleteHinhAnh(ldv.HinhAnh);
        LDVBLL.Xoa(ldv.Ma);
        Response.Redirect("~/Admin/Page_SearchServiceType.aspx");
    }
}
